package modelo.estrategias;


import modelo.moviles.*;

public class EstrategiaEnCirculos extends EstrategiaDeVuelo {

	public EstrategiaEnCirculos(){
		this.setCantidadPasos(8);
		this.setPasoActual(1);
	};

	
	
	/* "Le cambia la posicion al movil" */
	public void adelantarMovil(Movil movil){
		if (estaDentroDelNivel(movil)){
			switch(this.getPasoActual()) {
			 case 1: 
			 case 2: 
				 movil.setColumna(movil.getColumna() +  (2* movil.getFactorMovimiento()));
				 movil.setFila(movil.getFila() -  movil.getFactorMovimiento());
				 break;
			 case 3: 
			 case 4: 
				 movil.setColumna(movil.getColumna() +  (2* movil.getFactorMovimiento()));
				 movil.setFila(movil.getFila() + movil.getFactorMovimiento());
				 break;
			 case 5: 
			 case 6: 
				 movil.setColumna(movil.getColumna() - movil.getFactorMovimiento());
				 movil.setFila(movil.getFila() + movil.getFactorMovimiento());
				 break;
			 case 7: 
			 case 8: 
				 movil.setColumna(movil.getColumna() - movil.getFactorMovimiento());
				 movil.setFila(movil.getFila() - movil.getFactorMovimiento());
				 break;
			 default: 
			     break;
			 }
		
		setPasoActual(buscarSiguientePaso(getPasoActual()));	
	
	} else {
		movil.estallar();
	}
	}


}
